Release 10.1A: OpenEdge Development:
Progress 4GL Reference


IN-HANDLE attribute

A handle to one of the following:

handle-expression

A HANDLE expression. Table 70 explains what the handle can indicate and who sets it.

Table 70: What IN-HANDLE indicates and who sets it
If the handle indicates...
It is set by...
A persistent procedure you just started up dynamically.
The INVOKE( ) method
An already-running persistent procedure containing logic (in the form of internal procedures and user-defined functions) you want to invoke dynamically.
You
An object whose attributes you want to get or set dynamically.
You

char-expression

A CHARACTER expression indicating the name of a system object, such as “SESSION” or “FILE-INFO.”

The default is the Unknown value (?).

When you use IN-HANDLE to call an internal procedure, IN-HANDLE affects INVOKE( ) the same way the IN proc-handle phrase affects the RUN statement. Similarly, when you use IN-HANDLE to call a user-defined function, it affects INVOKE( ) the same way the IN proc-handle phrase affects the DYNAMIC-FUNCTION function. In both cases, IN-HANDLE specifies the instance of the external procedure that contains the internal procedure or user-defined function.

When IN-HANDLE is used to get or set an attribute or to invoke a method, it represents a handle to the object to which the attribute applies. If the attribute applies to a system object such as the SESSION handle or the FILE-INFO handle, IN-HANDLE can be set to a character string such as “SESSION” or “FILE-INFO” that indicates the name of the system object.

Note: When you create a running persistent procedure by running an external procedure persistently, you can do this statically or dynamically. Similarly, you can run any of the persistent procedure’s internal procedures and user-defined functions statically or dynamically.

For information on dynamically invoking logic that resides on an AppServer, see the reference entry for SERVER attribute.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095